The present invention relates to software design tools, and more specifically, to software design tools for multi-layered applications.
A multi-layered application contains multiple layers of functionalities wherein each layer is dependent on, or is made dependent by, one or more other layers. A layer represents the orientation of different physical or conceptual elements of an application, and different layers are used to allocate various responsibilities of the application. In illustration, an application may include a presentation layer, a business layer, a persistence layer and a database layer. In some cases, the business layer and persistence layer may be combined into a single business layer, for example, when persistence logic is embedded within business layer components. An application also may include additional layers. Indeed, complex applications may include five or more layers.